package com.allwees.bs.module.fms.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.allwees.bs.core.modelbase.branch.EBranchType;
import com.allwees.bs.module.base.service.BoService;
import com.allwees.bs.module.fms.entity.MerchantWithdrawAccount;
import com.allwees.bs.module.fms.req.MerchantWithdrawAccountInfoReq;
import com.allwees.bs.module.fms.req.SetDefaultWithdrawReq;
import com.allwees.bs.module.fms.req.query.MerchantWithdrawAccountQueryReq;

import java.util.List;

/**
 * 商户提现账户Service
 *
 * @author yangylsky
 * @since 2019-12-12
 *
 */
public interface MerchantWithdrawAccountService extends BoService<MerchantWithdrawAccount> {

	MerchantWithdrawAccount createRetailerAccount(MerchantWithdrawAccountInfoReq req);

	MerchantWithdrawAccount createIndividualAccount(MerchantWithdrawAccountInfoReq req);

	MerchantWithdrawAccount createCompanyAccount(MerchantWithdrawAccountInfoReq req);

	List<MerchantWithdrawAccount> findAllWithdrawAccount(EBranchType branchType, String branchUuid);

	MerchantWithdrawAccount findDefaultWithdrawAccount(EBranchType branchType, String branchUuid);

	boolean setDefaultWithdrawAccount(SetDefaultWithdrawReq req);

	/**
	 * 查询商户提现账户分页列表
	 *
	 * @param page
	 * @param req
	 * @return
	 */
	IPage<MerchantWithdrawAccount> findPage(Page<MerchantWithdrawAccount> page, MerchantWithdrawAccountQueryReq req);
}
